/**
 * 全局通信 Mixin
 * @param {Object} params 需要已进入页面就执行的方法
 * @param {Array<string>} destroies 需要已离开页面销毁的方法
 * @returns {Object} Vue.mixin
 */
export default function pageCommunication(params = {}, destroies = []) {
	const name = Object.keys(params)
	return {
		created() {
			name.forEach(name => uni.$on(name, params[name].bind(this)))
		},
		destroyed() {
			name.forEach(name => uni.$off(name))
			destroies.forEach(name => uni.$off(name))
		},
	}
}
